package com.cskaoyan.basic._2variable._0const;

/**
 * 常量
 * 什么是常量？
 * 在程序运行过程中，其值绝对不会发生改变的量，是绝对不会发生改变的量才能称之为常量。
 * 常量要看变化的可能性，只要可能改变就不是常量
 *
 * 常量有哪些分类？
 * 从大的分类来说，常量主要分为两类：
 *      1.字面值常量，在Java代码中，所有直接写值的量都是字面值常量。包括：
 *          整数常量：直接写在代码中的整数都是。例如1、2、3等。
 *          在Java中整数常量默认作为int类型处理
 *
 *          小数常量：直接写在代码中的小数都是。例如1.1、1.2、1.3等。
 *          在Java中小数常量默认作为double类型处理
 *
 *          字符常量：直接写在代码中的，使用单引号引起来的字符都是。例如'A'、'a'等。
 *          布尔常量：直接写在代码中的布尔值，只有true和false两个。
 *          字符串常量：直接写在代码中的，使用双引号引起来的字符串都是。例如"HelloWorld"、"hello"等
 *          空常量：空常量是引用数据类型独有的一种取值，只有null一个。（后面会讲，这里先记一下）
 *              空常量只有一个null
 *              且只能赋值给引用数据类型
 *
 *      2.自定义常量，通过语法自由地定义一个常量在代码中使用。（面向对象再讲）
 *          简单来说被final关键字修饰的变量就是一个自定义常量
 *
 *
 * 字面值常量比较简单，了解即可。接下来主要看变量。
 * @since 17:30
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        int a = 10;
        a = 100;

        double c = 0.1;
        // 如果希望一个整数常量当成long类型，需要加L
        long d = 110L;

        // 如果希望一个小数常量当成float类型，需要加F或者f
        float e = 0.1f;
        float e2 = 0.1F;

        String str = "hello world!";

        String str2 = null;
        System s = null;
    }
}
